SEP 10 -- 发布工具优化建议
Head
- Author: larry
- Status: active
- Type: Informational
- Created: 2017-11-07
摘要
优化建议。
灰度gray
gray与regray操作合并
脚本自行判断,如果没有工程就是首次,有了就是重新灰度
内置默认灰度客户。如果没有传入灰度group就用默认的。
增加渐进灰度group功能
参数1:需要增加的group列表。当前没有就增加,有就忽略,给个warning。如果group已经被别的分支灰度了就拒绝。
参数2:需要剔除的group列表。有就删除,没有就忽略,给个warning。
group增加格式校验
只能是数字,或者cms_key这种,根据工程判断。
全量release
release之前检查分支是否在master之上,不在的话不能继续。
release之后自动合并master。
如果有前端分支,提醒发布者等待前端合并完成后执行complete操作。
release后的当前分支不能是master分支。
release前校验,是否经过了gray。
release控制时段:除了fix版本,其他都必须在11.30到16:00之间。
清理clean
列出所有未使用的分支
清理:停服,目录移动到删除目录
回滚revert(优先级低)
修改操作需要快速回滚功能。
每个操作完成后,生成一个操作id(uuid),需要回滚的时候用这个id去回滚。
优先把release回滚做了,release只能回滚最后一次的。
操作人
命令行增加操作人选项,review人
操作日志
增加操作日志文件,记录所有操作
操作通知
所有修改类操作需要通知
通知内容:操作类型,操作人,review人,操作内容
锁机制
发布中增加文件锁。
不可多人同时交叉做修改操作。
release后不解锁,直到complete后才解锁。
灰度链与日志链
调整nginx配置,把web层和service层的request-id串起来。
改进RMIclient,使得cookie信息可以带到service层,完成灰度链条。
log中增加分支名
发布启动脚本增加环境变量,添加上分支名。
日志中读取环境变量,方便查问题。
观麦自己的pip库更新
编写文档,或者集成到发布工具中。